The Media Kit Table of Contents     The Media Kit Index

BContinuousParameter

Derived from: BParameter

Declared in: be/media/ParameterWeb.h

Library: libmedia.so

Allocation: Constructor only

Summary

The BContinuousParameter class represents parameters whose values can vary along a continuous range. Examples include gain or equalizer controls, turntable pitch controls, and the like.

The default system theme implements BContinuousParameters as BSlider controls.

Call BParameterGroup::MakeContinuousParameter() to create a BContinuousParameter control.


Constructor and Destructor

You never create or delete a BContinuousParameter object yourself. Use the appropriate BParameterGroup functions to create these objects and add them to groups.


Member Functions


GetResponse() , SetResponse()

                                                         
  

void GetResponse(response *response, float *factor, float *offset)

void SetResponse(response response, float factor, float offset)

GetResponse() returns in response, factor, and offset the response type, factor, and offset currently in effect for the BContinuousParameter.

SetResponse() sets these values.

The response describes how the BContinuousParameter's value is displayed to me the user. For example, if your parameter is polynomial in scale, you may wish to record only the base value, and let the BContinuousParameter handle presenting the value to the user as a polynomial by raising the value to the power specified by factor before displaying the value on the screen.

Constant Description
B_LINEAR For every unit of change in the parameter's value, the displayed value also changes by 1. The factor should be 1.
B_POLYNOMIAL The factor is a power to which the control's value is raised before being displayed.
B_EXPONENTIAL The factor is the base; the displayed value is the factor raised to the power of the parameter's value.
B_LOGARITHMIC The factor is the base; the displayed value is the base factor logarithm of the parameter's value.

The offset is added to the value after the transformation specified by response is computed, but before displaying the value.

If you wish the displayed value to be v2+1, you would use the following call:

   SetResponse(B_POLYNOMIAL, 2.0, 1.0);

 
The mapping specified by these functions is only used for controls that display the current value of the control. The default system theme doesn't currently display this information. Since this information is only used for display purposes, you will still have to handle (as appropriate for your needs) mapping between the value of the control and the parameter value it represents.


For example, a BContinuousParameter that selects a frequency between 20 Hz and 20,000 Hz might use a range from 0 to 3, with an exponent base of 10 and a multiplication factor of 20. In this case, the parameter will receive values from 0.0 to 3.0, which the UI control knows to map to the values 20 through 20,000 for display purposes.


MaxValue()

                                                         
  

float MaxValue(void)

Returns the maximum possible value the BContinuousParameter can take, which was specified when the control was created. The value is in the units specified when the control was created, such as "dB" or "Hz."


MinValue()

                                                         
  

float MinValue(void)

Returns the minimum possible value the BContinuousParameter can take, which was specified when the object was created. The value is in the units specified when the object was created, such as "dB" or "Hz."


SetResponse() see GetResponse()


ValueStep()

                                                         
  

float ValueStep(void)

Returns the granularity of values between MinValue() and MaxValue() supported by the hardware.


ValueType()

                                                         
  

virtual type_code ValueType(void)

Return a type_code indicating the data type of the control's value; by default, this is B_FLOAT_TYPE.


Constants


response

Declared in: <be/media/ParameterWeb.h>

Constant Description
B_LINEAR For every unit of change in the parameter's value, the displayed value also changes by 1. The factor should be 1.
B_POLYNOMIAL The factor is a power to which the control's value is raised before being displayed.
B_EXPONENTIAL The factor is the base; the displayed value is the factor raised to the power of the parameter's value.
B_LOGARITHMIC The factor is the base; the displayed value is the base factor logarithm of the parameter's value.

These values define the response type for a BContinuousParameter.

B_LINEAR indicates that the user interface will display the parameter's value as-is.

B_POLYNOMIAL displays the parameter's value raised to the factor power. For instance, if factor is 2, the displayed value would be the parameter's value squared.

B_EXPONENTIAL displays the factor raised to the power of the parameter's value. If the parameter's value is 3 and the factor is 2, the displayed value would be 23 or 8.

B_LOGARITHMIC displays the base factor logarithm of the parameter's value; if the factor is 10 and the parameter's value is 3, the displayed value would be log10(3).


The Media Kit Table of Contents     The Media Kit Index


The Be Book,
...in lovely HTML...
for BeOS Release 5.

Copyright © 2000 Be, Inc. All rights reserved..